package com.qiaoba.api.job.constant;

/**
 * 定时任务常量
 *
 * @author ailanyin
 * @date 2023-09-03 22:20:49
 */
public interface JobConstant {

    String TASK_CLASS_NAME = "TASK_CLASS_NAME";

    /**
     * 执行目标key
     */
    String TASK_PROPERTIES = "TASK_PROPERTIES";

    /**
     * 默认
     */
    String MISFIRE_DEFAULT = "0";

    /**
     * 立即触发执行
     */
    String MISFIRE_IGNORE_MISFIRES = "1";

    /**
     * 触发一次执行
     */
    String MISFIRE_FIRE_AND_PROCEED = "2";

    /**
     * 不触发立即执行
     */
    String MISFIRE_DO_NOTHING = "3";

    /**
     * 任务运行
     */
    String NORMAL = "1";

    /**
     * 任务暂停
     */
    String PAUSE = "0";

    /**
     * 允许并发
     */
    String ALLOW_CONCURRENT = "1";

    /**
     * Job白名单（防止黑客攻击）
     */
    String[] JOB_WHITELIST_STR = {"com.qiaoba"};

    /**
     * 定时任务违规的字符（防止黑客攻击）
     */
    String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
            "org.springframework", "org.apache"};
}
